﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace Sistema_financiero.Control
{
    public static class Textbox_restricciones
    {
        public static void Permitir_solo_numeros(KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }

            else
            {
                e.Handled = true;
            }
        }

        public static void Validar_fecha (MaskedTextBox Tbx, TypeValidationEventArgs e)
        {
            ToolTip Error = new ToolTip();
            if (!e.IsValidInput)
            {
                Error.ToolTipTitle = "Fecha inválida";
                Error.ToolTipIcon = ToolTipIcon.Error;
                Error.Show("La fecha ingresada no es válida (dd/mm/aaaa).", Tbx, 0, -20, 5000);
                Tbx.Text = "";
            }
        }

        public static void Validar_mascara(MaskedTextBox Tbx, EventArgs e)
        {
            ToolTip Error = new ToolTip();
            if (Tbx.MaskCompleted == false)
            {
                Error.ToolTipTitle = "Error";
                Error.ToolTipIcon = ToolTipIcon.Error;
                Error.Show("El valor del campo no es válido", Tbx, 0, -20, 5000);
                Tbx.Text = "";
            }
        }

        public static void Campo_obligatorio(TextBox Tbx)
        {
            if (String.IsNullOrEmpty(Tbx.Text))
            {
                Tbx.BackColor = Color.PaleGreen;

            }
            else
            {
                Tbx.BackColor = Color.White;
            }
        }
        
        public static void Campo_obligatorio(MaskedTextBox Tbx)
        {
            if (Tbx.MaskCompleted == false)
            {
                Tbx.BackColor = Color.PaleGreen;

            }
            else
            {
                Tbx.BackColor = Color.White;
            }
        }

        public static void Fecha_mayor_que (MaskedTextBox Tbx, DateTime fecha)
        {
            ToolTip Error = new ToolTip();
            if (Convert.ToDateTime(Tbx.Text) <= fecha)
            {
                Error.ToolTipTitle = "Fecha inválida";
                Error.ToolTipIcon = ToolTipIcon.Error;
                Error.Show("La fecha ingresada debe ser mayor a la de hoy.", Tbx, 0, -20, 5000);
                Tbx.Text = "";
            }
        }

        public static void Fecha_mayor_que(DateTimePicker Fecha1, DateTimePicker Fecha2, Button btn)
        {
            ToolTip Error = new ToolTip();
            if (Fecha1.Value >= Fecha2.Value)
            {
                Error.ToolTipTitle = "Fecha inválida";
                Error.ToolTipIcon = ToolTipIcon.Error;
                Error.Show("La fecha 'DESDE' debe ser menor a la fecha 'HASTA'.", Fecha1, 0, -20, 5000);
                btn.Enabled = false;
            }
            else
            {
                btn.Enabled = true;
            }
        }


    }
}
